iT邦幫忙

2022 iThome 鐵人賽

DAY 18
0
Software Development

歡迎來到 GIS 的世界!30 天從後端開始學 GIS系列 第 18

你好,我是 PostgreSQL - 2 PostGIS 常用 function

  • 分享至 

  • xImage
  •  

文章同步更新至 Medium

安裝完成之後,就可以開始我們的 PostgreSQL 之旅了。首先找到我們的 pgAdmin4:

打開之後應該會要求你輸入一個 Master Password,要注意這個和我們在安裝過程中所輸入的密碼不同,剛剛所輸入的是連線到 localhost database 的密碼,現在這個是登入到 pgAdmin4 的密碼:

進入之後左側的 Servers 會存放你儲存的連線資訊,這次安裝的是版本 14.X,所以雙擊 PostgreSQL 14 之後會出現另外一個輸入密碼的提示,也就是在安裝過程中所輸入的密碼:

進入之後應該只會看到預設建立的 postgres 資料庫,這時候可以對著 Databases 這個屬性右鍵,選擇 Create > Database,輸入完名稱之後就能建立一個全新的資料庫了。

使用 PostGIS

我們可以從這兩個地方開始一個新的查詢:

PostGIS 是一種可選擇是否啟用的 Plugin,在建立全新的資料庫時,預設是不會啟用的,所以在使用之前需要另外使用指令來開啟他:

-- 注意在 PostGIS 的官網中有特別提到:
-- DO NOT INSTALL it in the database called postgres.

CREATE EXTENSION postgis;

在 db_with_postgis 下了指令啟用 PostGIS 之後,可以看到他的 Functions 和 db_without_postgis 的數量差異,這樣就代表 PostGIS 啟用成功了:

常用 Function

PostGIS 的 Function 開頭都是 ST_,完整的指令使用方法可以參考PostGIS 的官方文件,這裡就選幾個常用的來介紹:

ST_AsText

將 PostgreSQl 中,型別為 geometry 的資料轉換成 WKT 的格式:

ST_GeomFromText

將 WKT 文字轉換成 geometry 型別:

ST_Transform

轉換 geometry 的座標系統:

ST_Within

ST_Within(A, B) 會去判斷 A 是否被包含在 B 中:

ST_Contains

ST_Contains(B, A) 會去判斷 B 是否包含 A:

這兩個 Function 關係會是 ST_Within(A,B) = ST_Contains(B,A),要注意在使用上不要混淆了。

References


上一篇
你好,我是 PostgreSQL - 1 介紹
下一篇
你好,我是 PostgreSQL - 3 Npgsql With .NET
系列文
歡迎來到 GIS 的世界!30 天從後端開始學 GIS30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言